/**
 * 1
 *  
 * @Author : Ruoyu Wang
 * @DateTime : 24-9-21 上午10:56
 */

#include <iostream>
#include <vector>
#include <algorithm>
#include <stack>

using namespace std;

int main() {
    string s;
    cin >> s;
    stack<char> st;
    int res = 1;
    for (int i = 0; i < s.size(); ++i) {
        if (s[i] == '(' || s[i] == '{' || s[i] == '[') {
            st.push(s[i]);
        } else if (s[i] == ')') {
            if (st.empty() || st.top() != '(') {
                res = 0;
                break;
            }
            st.pop();
        } else if (s[i] == ']') {
            if (st.empty() || st.top() != '[') {
                res = 0;
                break;
            }
            st.pop();
        } else {
            if (st.empty() || st.top() != '{') {
                res = 0;
                break;
            }
            st.pop();
        }
    }
    if (st.size() > 0) {
        res = 0;
    }
    cout << res;
    return 0;
}